from codex import * from time import sleep from random import randrange import sys #variables, don't forget to set them to global in the functions first_num = 0 second_num = 0 correct = 0 start = 0 mode = 0 #random colors def get_random_color(): red = randrange(256) green = randrange(256) blue = randrange(256) return (red, green, blue) #roll animation def roll_animation(): display.draw_jpg('dice1.jpg') sleep(0.1) display.draw_jpg('dice2.jpg') sleep(0.1) display.draw_jpg('dice3.jpg') sleep(0.1) display.draw_jpg('dice4.jpg') sleep(0.1) display.draw_jpg('dice5.jpg') sleep(0.1) display.draw_jpg('dice6.jpg') #picks a random number between 1 and 6 and shows the dice def roll_dice(): roll_animation() global first_num first_num = randrange(7) if first_num < 1: first_num = 1 if first_num == 1: display.draw_jpg('dice1.jpg') if first_num == 2: display.draw_jpg('dice2.jpg') if first_num == 3: display.draw_jpg('dice3.jpg') if first_num == 4: display.draw_jpg('dice4.jpg') if first_num == 5: display.draw_jpg('dice5.jpg') if first_num == 6: display.draw_jpg('dice6.jpg') #sets the second variable as the first, then re-rolls and compares, ties win here def high_easy(): global second_num second_num = first_num roll_dice() if second_num <= first_num: display.draw_jpg('correct.jpg') global correct correct += 1 sleep(1) display.clear() roll_dice() else: display.draw_jpg('wrong.jpg') global correct correct -= 1 sleep(1) display.clear() roll_dice() #sets the second variable as the first, then re-rolls and compares, ties lose here def high_hard(): global second_num second_num = first_num roll_dice() if second_num < first_num: display.draw_jpg('correct.jpg') global correct correct += 1 sleep(1) display.clear() roll_dice() else: display.draw_jpg('wrong.jpg') global correct correct -= 1 sleep(1) display.clear() roll_dice() #sets the second variable as the first, then re-rolls and compares, ties win here def low_easy(): global second_num second_num = first_num roll_dice() if second_num >= first_num: display.draw_jpg('correct.jpg') global correct correct += 1 sleep(1) display.clear() roll_dice() else: display.draw_jpg('wrong.jpg') global correct correct -= 1 sleep(1) display.clear() roll_dice() #sets the second variable as the first, then re-rolls and compares, ties lose here def low_hard(): global second_num second_num = first_num roll_dice() if second_num > first_num: display.draw_jpg('correct.jpg') global correct correct += 1 sleep(1) display.clear() roll_dice() else: display.draw_jpg('wrong.jpg') global correct correct -= 1 sleep(1) display.clear() roll_dice() #opening pixels.set(0, get_random_color()) pixels.set(1, get_random_color()) pixels.set(2, get_random_color()) pixels.set(3, get_random_color()) sleep(0.1) display.draw_text('Hello!', x = 80, scale=2, y=10, color=WHITE) sleep(2) display.clear() display.draw_text('Let us play Hi Lo,', x = 0, scale=2, y=10, color=WHITE) display.draw_text('I will pick a random', x = 0, scale=2, y=40, color=WHITE) display.draw_text('number from 1 and 6.', x = 0, scale=2, y=70, color=WHITE) display.draw_text('Guess if the next is', x = 0, scale=2, y=120, color=WHITE) display.draw_text('higher or lower.', x = 0, scale=2, y=150, color=WHITE) display.draw_text('Press up or down.', x = 0, scale=2, y=210, color=WHITE) sleep(5) display.clear() display.draw_text('If you guess wrong,', x = 0, scale=2, y=10, color=WHITE) display.draw_text('the first time', x = 0, scale=2, y=40, color=WHITE) display.draw_text('you lose.', x = 0, scale=2, y=70, color=WHITE) display.draw_text('Get four right', x = 0, scale=2, y=120, color=WHITE) display.draw_text('to win the game.', x = 0, scale=2, y=150, color=WHITE) sleep(5) display.clear() display.draw_text('For easy, press A.', x = 0, scale=2, y=10, color=WHITE) display.draw_text('For hard, press B.', x = 0, scale=2, y=40, color=WHITE) display.draw_text('Easy wins ties.', x = 0, scale=2, y=90, color=WHITE) display.draw_text('Hard loses ties.', x = 0, scale=2, y=120, color=WHITE) pixels.set(0, BLACK) pixels.set(1, BLACK) pixels.set(2, BLACK) pixels.set(3, BLACK) while True: #choose easy mode if buttons.was_pressed(BTN_A): display.clear() mode = 1 break #choose hard mode if buttons.was_pressed(BTN_B): display.clear() mode = 2 break #this only starts checking the correct variable after the opening finishes start = 1 while True: if mode == 1: if buttons.was_pressed(BTN_U): high_easy() if buttons.was_pressed(BTN_D): low_easy() if mode == 2: if buttons.was_pressed(BTN_U): high_hard() if buttons.was_pressed(BTN_D): low_hard() if start == 1: if correct < 0: display.print("Game Over") pixels.set(0, RED) pixels.set(1, RED) pixels.set(2, RED) pixels.set(3, RED) sleep(1) break if correct == 0: pixels.set(0, BLACK) pixels.set(1, BLACK) pixels.set(2, BLACK) pixels.set(3, BLACK) if correct == 1: pixels.set(0, GREEN) pixels.set(1, BLACK) pixels.set(2, BLACK) pixels.set(3, BLACK) if correct == 2: pixels.set(0, GREEN) pixels.set(1, GREEN) pixels.set(2, BLACK) pixels.set(3, BLACK) if correct == 3: pixels.set(0, GREEN) pixels.set(1, GREEN) pixels.set(2, GREEN) pixels.set(3, BLACK) if correct == 4: pixels.set(0, GREEN) pixels.set(1, GREEN) pixels.set(2, GREEN) pixels.set(3, GREEN) sleep(2) display.print("You Win!") pixels.set(0, get_random_color()) pixels.set(1, get_random_color()) pixels.set(2, get_random_color()) pixels.set(3, get_random_color()) sleep(0.2)